package com.jueling.culture.service;

import com.github.pagehelper.PageInfo;
import com.jueling.culture.core.Service;
import com.jueling.culture.dto.req.AgentVO;
import com.jueling.culture.dto.res.AgentUser;
import com.jueling.culture.dto.res.AgentUserForHover;
import com.jueling.culture.model.AgentInfo;

import java.util.List;


/**
 * @author by linp
 * @date 2022/04/09
 */
public interface AgentInfoService extends Service<AgentInfo> {

    /**
     * 获取代理信息列表
     * @param agentVO
     * @return
     */
    PageInfo<AgentInfo> getAgrntList(AgentVO agentVO);

    /**
     * 新增代理人
     * @param agentInfo
     */
    void saveAgentInfo(AgentInfo agentInfo);

    /**
     * 查询代理人是否存在
     * @param custId
     * @return
     */
    Integer checkAgent(String custId);

    /**
     * 编辑代理人信息
     * @param agentInfo
     */
    void updateAgentInfo(AgentInfo agentInfo);

    /**
     * 查询代理人列表
     * @return
     */
    List<AgentUser> getAgentUserList();

    /**
     * 代理人级联结构
     * @return
     */
    List<AgentUserForHover> getAgentUserListForHover();

    /**
     * 刷数据
     * @param code
     * @return
     */
    Object refushAgent(String code);

    /**
     * 修改用户状态
     * @param custId
     * @return
     */
    void updateAgentState(String custId);

    /**
     * 根据查询条件查询全量数据
     * @param agentVO
     * @return
     */
    List<List<Object>> getAllAgentData(AgentVO agentVO);
}
